/// <summary>
/// 线性表接口
/// </summary>
/// <typeparam name="T"></typeparam>
public interface IListDS<T>
{
    /// <summary>
    /// 求长度
    /// </summary>
    /// <returns></returns>
    int GetLength(); 

    /// <summary>
    /// 清空操作
    /// </summary>
    void Clear(); 

    /// <summary>
    /// 判空
    /// </summary>
    /// <returns></returns>
    bool IsEmpty();

    /// <summary>
    /// 附加操作
    /// </summary>
    /// <param name="item"></param>
    void Append(T item);  

    /// <summary>
    /// 插入操作 
    /// </summary>
    /// <param name="item">要插入的元素</param>
    /// <param name="i">插入的位置</param>
    void Insert(T item, int i); 

    /// <summary>
    /// 删除操作
    /// </summary>
    /// <param name="i">索引</param>
    /// <returns></returns>
    T Delete(int i);

    /// <summary>
    /// 取表元  返回线性表中第 i 个数据元素
    /// </summary>
    /// <param name="i"></param>
    /// <returns></returns>
    T GetElem(int i); 

    /// <summary>
    /// 按值查找返回索引
    /// </summary>
    /// <param name="value"></param>
    /// <returns></returns>
    int Locate(T value);  
    /// <summary>
    /// 判断是否满
    /// </summary>
    /// <returns></returns>
    bool IsFull();
}